{% block content %}
<div class="row">
<div class="col-md-12">
- <div class="breadcrumbs">
+ <div class="breadcrumbs" style="line-height: 3;">
Experiment > Request a new Slice
</div>
</div>
</div>
-
+
{% if errors %}
<div class="row">
<div class="col-md-12">
{% endif %}
<div class="row">
- <div class="col-md-8 el">
+ <div class="col-md-5 col-md-offset-3">
<form role="form" method="post">
{% csrf_token %}
- <div class="form-group" style="display:none">
- <input type="email" class="form-control" id="email" style="width:300px" value="{{ email }}" readonly="readonly">
- </div>
<div class="form-group">
- <input type="text" class="form-control" name="slice_name" id="slice_name" style="width:300px" placeholder="Slice name" value="{{slice_name}}"
- title="Please enter a name for your slice"required="required">
+ <input type="hidden" id="email" value="{{ email }}" readonly="readonly">
+ <label>
+ Please enter a name for your slice <br />
+ <span class="sublabel">
+ The slice name should only contain letters, numbers and the underscore character "_" <br />
+ </span>
+ </label>
+ <input type="text" class="form-control" name="slice_name" id="slice_name" style="width:100%" placeholder="Slice name" value="{{slice_name}}" required="required">
</div>
<div class="form-group">
- {%if 'is_pi' in pi %}
- <input type="text" class="form-control" id="authority_hrn" name="org_name" style="width:300px" placeholder="Organization"
- title="An authority responsible for vetting your slice" required="required">
- {%else%}
- <input type="text" class="form-control" id="authority_hrn" name="org_name" placeholder="Organization" style="width:300px;"
- title="An authority responsible for vetting your slice" required="required" readonly>
- {%endif%}
+ <label>
+ Select a project under which you want your slice to be created <br />
+ If your are not part of any projects you can <a href="/portal/project_request/">join or create one</a>
+ </label>
+ <input type="text" class="form-control" id="authority_hrn" name="org_name" style="width:100%" placeholder="Project"
+ title="Select a project under which you want to create your slice. Don't have any project yet! Create/Join project from the dashboard." required="required">
</div>
<div class="form-group">
- <input type="text" class="form-control" name="url" id="url" style="width:300px" placeholder="Experiment URL (if one exists)"
- title="Please provide the url of your experiment if you have one." value="{{url}}">
+ <label>
+ Provide an URL for your experiment
+ </label>
+ <input type="text" class="form-control" name="url" id="url" style="width:100%" placeholder="Experiment URL (if one exists)"
+ title="Please provide the url of your experiment if you have one." value="{{url}}">
</div>
<div class="form-group">
- <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment purpose" style="width:300px"
- title="Purpose of your experiment (informative)" required="required">{{ purpose }}</textarea>
+ <label>
+ Please provide a description of the purpose for your experiment
+ </label>
+ <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment description" style="width:100%"
+ title="Purpose of your experiment (informative)" required="required">{{ purpose }}</textarea>
</div>
- {%if 'is_pi' in pi %}
<button type="submit" id=submit_pi class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Create slice</button>
- {%else%}
- <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Request slice</button>
- {%endif%}
</form>
</div>
<script>
jQuery(document).ready(function(){
-
- $("#authority_hrn").load("/rest/user/", {"fields" : ["parent_authority"], "filters": {"user_hrn": "{{ user_hrn }}"}}, function(data) {
- var jsonData = JSON.parse(data);
- $(this).attr("value", jsonData[0]['parent_authority']);
- });
- $("#authority_hrn").val("{{authority_name}}");
- var availableTags = [
- {% if authorities %}
- {% for authority in authorities %}
- {% if authority.name %}
- {value:"{{ authority.name }}",label:"{{authority.name}}"},
- // to show only full name
- {% else %}
- {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
- {% endif %}
- {% endfor %}
- {% else %}
- {value:"",label:"No authority found !!!"}
- {% endif %}
- ];
- // sorting the list
- availableTags.sort(function(a,b){
- var nameA=a.value.toLowerCase(), nameB=b.value.toLowerCase();
- if (nameA < nameB) {
- return -1;
- }
- if (nameA > nameB) {
- return 1;
- }
- return 0;
- });
+ var myprojects = JSON.parse(localStorage.getItem('projects'));
$( "#authority_hrn" ).autocomplete({
- source: availableTags,
- minLength: 0,
- select: function( event, ui ) {console.log(jQuery(this));}
- });
-
- $("#submit_pi").click(function() {
- localStorage.clear();
- });
+ minLength: 0,
+ source: myprojects,
+ change: function (event, ui) {
+ if(!ui.item){
+ //http://api.jqueryui.com/autocomplete/#event-change -
+ // The item selected from the menu, if any. Otherwise the property is null
+ //so clear the item for force selection
+ $("#authority_hrn").val("");
+ }
+ }
+ }).bind('focus', function(){ $(this).autocomplete("search"); } );
});
+
+/*function draw_projects(authority_hrn){
+
+ var projects = [];
+ project_row = "<option value=''> - </option>";
+ projects.push(project_row);
+
+ if(authority_hrn.length > 0){
+ // Not for root authority
+ if(authority_hrn.split('.').length > 1){
+ $.post("/rest/myslice:authority/",{'fields':['authority_hrn','pi_users'],'filters':{'authority_hrn':'CONTAINS'+authority_hrn}}, function( data ) {
+
+ $.each( data, function( key, val ) {
+ project_row = "<option value='"+val.authority_hrn+"'>"+val.authority_hrn+"</option>";
+ projects.push(project_row);
+ });
+ $("#project").html(projects.join( "" ));
+ });
+ }else{
+ $("#project").html(projects.join( "" ));
+ }
+ }else{
+ my_projects = JSON.parse(localStorage.getItem('projects'));
+ $.each( my_projects, function( i, val ) {
+ project_row = "<option value='"+val+"'>"+val+"</option>";
+ projects.push(project_row);
+ });
+ $("#project").html(projects.join( "" ));
+ }
+ $("#project").show();
+ $("#project_loading").hide();
+}*/
</script>
{% endblock %}