{% extends "layout.html" %}
{% load i18n %}
-
+{% block head %}
+<script src="{{ STATIC_URL }}js/jquery-ui.js"></script>
+<script src="{{ STATIC_URL }}js/jquery-ui-combobox.js"></script>
+<link rel='stylesheet' type='text/css' href="{{ STATIC_URL }}css/jquery-ui.css">
+<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/jquery.ui.combobox.css">
+{% endblock head %}
{% block content %}
-<br />
+<div class="row">
+ <div class="col-md-12">
+ <div class="breadcrumbs" style="line-height: 3;">
+ Experiment > Create or join a Project
+ </div>
+ </div>
+</div>
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs nav-section">
- <li class="active"><a href="#existing">Join existing Project</a></li>
- <li><a href="#new">Create new Project</a></li>
+ <li class="active"><a href="#new">Create new Project</a></li>
+ <li><a href="#existing">Join existing Project</a></li>
</ul>
</div>
{% endif %}
<div class="container tab-content">
+
+ <div class="tab-pane active" id="new">
+
+ <div class="row">
+ <div class="col-sm-6 col-sm-offset-3">
+ <form role="form" method="post" action="/portal/project_request">
+ {% csrf_token %}
+ <label>
+ Please insert a name for your project under which you will be able to create slices <br />
+ <span class="sublabel">
+ The project name should only contain letters, numbers and the underscore "_" (10 max length)<br />
+ </span>
+ </label>
+ <div class="form-group">
+ <input type="text" name="project_name" value="" class="form-control" maxlength="10" style="width:100%;" title="The project name should not contain spaces but only letters, numbers and the underscore character" placeholder="Project name" required>
+ </div>
+
+ <label>
+ The authority under which your project will be managed <br />
+ <span class="sublabel">
+ Before you can access your project a manager of this authority should approve the request
+ </span>
+ </label>
+ <div class="form-group">
+ <select id="org_name" name="authority_name" class="form-control" style="width:100%" value="{{ organization }}" required>
+ {% if authorities %}
+ {% for authority in authorities %}
+ {% if authority.name %}
+ <option value="{{ authority.authority_hrn }}" {% if authority.authority_hrn == authority_hrn %}selected{% endif %}>{{authority.name}}</option>
+ {% else %}
+ <option value="{{ authority.authority_hrn }}" {% if authority.authority_hrn == authority_hrn %}selected{% endif %}>{{authority.authority_hrn}}</option>
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+ </select>
+ </div>
+
+ <label>
+ Please provide a description of the purpose for your project
+ </label>
+ <div class="form-group">
+ <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Project description" style="width:100%" title="Purpose of your project (informative)" required="required"></textarea>
+ </div>
+ <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Send Request</button>
+ </form>
+
+ </div>
+ </div>
+ </div>
- <div class="tab-pane active" id="existing">
+ <div class="tab-pane" id="existing">
<div class="row">
<div class="col-md-6">
<h3>Join an existing Project</h3>
</div>
<div class="row">
<div class="col-md-6">
- <form role="form" method="post">
+ <form role="form" method="post" action="/portal/project_request">
{% csrf_token %}
- <select id="projects"></select> <button type="submit" class="btn">Join</button>
+ <div id="project_loading" style="display:inline;"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading projects" /></div>
+ <select id="projects" name="project_name" style="display:none;"></select>
+ <div style="display:none;" id="projects_button">
+ <input type="submit" id="join" name="join" value="Join" class="btn"/>
+ </div>
</form>
</div>
<div class="col-md-6">
{% for pending in pending_projects %}
<tr><td>(PENDING) {{ pending.project_name }}</td><td>{{ pending.authority_hrn }}</td><td>{{ pending.created|date:"d/m/Y" }}</td></tr>
{% endfor %}
+ {% for pending in pending_join_projects %}
+ <tr><td>(PENDING JOIN) {{ pending.project_name }}</td><td> </td><td>{{ pending.created|date:"d/m/Y" }}</td></tr>
+ {% endfor %}
+
</table>
</div>
</div>
</div>
-
- <div class="tab-pane" id="new">
- <div class="row">
- <div class="col-md-12">
- <h3>Create a new Project</h3>
- </div>
- </div>
-
-
- <div class="row">
- <div class="col-md-12">
- <form role="form" method="post" action="/portal/project_request">
- {% csrf_token %}
- <div class="form-group">
- <input type="text" name="project_name" value="" placeholder="Name" required>
- </div>
- <div class="form-group">
- <select id="org_name" name="authority_name" class="form-control" style="width:590px" value="{{ organization }}" required>
- {% if authorities %}
- {% for authority in authorities %}
- {% if authority.name %}
- <option value="{{ authority.authority_hrn }}">{{authority.name}}</option>
- {% else %}
- <option value="{{ authority.authority_hrn }}">{{authority.authority_hrn}}</option>
- {% endif %}
- {% endfor %}
- {% endif %}
- </select>
- </div>
-
-
- <div class="form-group">
- <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Description" style="width:300px" title="Purpose of your project (informative)" required="required"></textarea>
- </div>
- <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Send Request</button>
- </form>
-
- </div>
- </div>
- </div>
-
</div>
<script>
$(document).ready(function() {
- var myprojects = localStorage.getItem('projects');
- console.log(myprojects);
+ var myprojects = JSON.parse(localStorage.getItem('projects'));
if (myprojects) {
-
+ $.each(myprojects, function (i, val){
+ $('.project-list').append('<tr><td>'+ val +'</td></tr>');
+ });
} else {
$('.project-list').html('<tr><td>no projetcs</td></tr>');
}
e.preventDefault();
$(this).tab('show');
});
- $.post("/rest/myslice:authority/",{'fields':['authority_hrn','pi_users'],'filters':{'authority_hrn':'CONTAINS{{ authority_hrn }}' }}, function( data ) {
+ $.post("/rest/myslice:authority/",{'fields':['authority_hrn','pi_users'],'filters':{'authority_hrn':'CONTAINS{{ root_authority_hrn }}' }}, function( data ) {
var projects = [];
project_row = "<option value=''> - </option>";
projects.push(project_row);
$.each( data, function( key, val ) {
- console.log(val);
- project_row = "<option value='"+val.authority_hrn+"'>"+val.authority_hrn+"</option>";
- projects.push(project_row);
+ if(val.authority_hrn.split('.').length > 2){
+ if($.inArray(val.authority_hrn, myprojects)==-1){
+ project_row = "<option value='"+val.authority_hrn+"'>"+val.authority_hrn+"</option>";
+ projects.push(project_row);
+ }
+ }
});
+ $("#projects").show();
+ $("#projects_button").css('margin-left', '50px');
+ $("#projects_button").css('display', 'inline-block');
+ $("#project_loading").hide();
$("#projects").html(projects.join( "" ));
+ $("#projects").combobox();
+ var $s = jQuery("#projects").next().attr('id','listProjects');
+ jQuery('#listProjects').bind("click",function(){
+ // show all items click
+ this.childNodes[1].click();
+ });
+
});
/*
localStorage.clear();
});
// auto-complete the form
- //jQuery("#org_name").combobox();
+ jQuery("#org_name").combobox();
+ $('input[name=project_name]').keyup(function(){
+ this.value = this.value.toLowerCase();
+ });
});
</script>
{% endblock %}