Slice request pre-select authority
[unfold.git] / portal / templates / slicerequest_view.html
1 {% extends "layout.html" %}
2 {% load i18n %}
3
4 {% block content %}
5         <div class="row">
6                 <div class="col-md-12">
7                 <h1><img src="{{ STATIC_URL }}icons/slices-xs.png" alt="Request a Slice" /> Request a new Slice</h1>
8                 </div>
9         </div>
10
11         {% if errors %}
12         <ul>
13           {% for error in errors %}
14           <li>{{ error }}</li>
15           {% endfor %}
16         </ul>
17         {% endif %}
18         <div class="row">
19                 <div class="col-md-12">&nbsp;</div>
20         </div>
21         <div class="row">
22                 <div class="col-md-2"></div>
23                 <div class="col-md-8">
24                         <form role="form" method="post">
25                         {% csrf_token %}
26                           <div class="form-group">
27                             <label for="email">Experimenter</label>
28                             <input type="email" class="form-control" id="email" value="{{ email }}" readonly="readonly">
29                           </div>
30                           <div class="form-group">
31                             <label for="slice_name">Slice Name</label>
32                             <input type="text" class="form-control" name="slice_name" id="slice_name" placeholder="Slice Name" required="required">
33                                 <p class="help-block"></p>
34                           </div>
35                           <div class="form-group">
36                             <label for="authority">Authority</label>
37                             <input type="text" class="form-control" id="authority_hrn" name="authority_hrn" placeholder="Authority" required="required">
38                                 <p class="help-block">An authority responsible for vetting your slice</p>
39                           </div>
40                           <div class="form-group">
41                             <label for="number_of_nodes">Number of Nodes</label>
42                             <input type="text" class="form-control" name="number_of_nodes" id="number_of_nodes" placeholder="Number of Nodes">
43                                 <p class="help-block">Number of nodes you expect to request (informative)</p>
44                           </div>
45                           <div class="form-group">
46                             <label for="purpose">Experiment Purpose</label>
47                                 <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment Purpose" required="required">{{ purpose }}</textarea>
48                             <p class="help-block">Purpose of your experiment (informative)</p>
49                           </div>
50                           <button type="submit" class="btn btn-default">Request Slice</button>
51                         </form>
52         
53                 </div>
54         </div>
55                 
56 <script>
57 jQuery(document).ready(function(){
58         
59         $("#authority_hrn").load("/rest/user/", {"fields" : ["parent_authority"], "filters": {"user_hrn": "{{ user_hrn }}"}}, function(data) {
60                 var jsonData = JSON.parse(data)
61         $(this).attr("value", jsonData[0]['parent_authority']);
62     });
63     var availableTags = [
64      {% if authorities %}
65          {% for authority in authorities %}
66              {% if authority.name %}
67                  {value:"{{ authority.authority_hrn }}",label:"{{authority.name}}"},
68              {% else %}
69                  {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
70              {% endif %}
71          {% endfor %}    
72      {% else %}
73          {value:"",label:"No authority found !!!"}
74      {% endif %}
75     ];
76     $( "#authority_hrn" ).autocomplete({
77       source: availableTags,
78       minLength: 0,
79       select: function( event, ui ) {console.log(jQuery(this))}
80     });
81 });
82 </script>
83 {% endblock %}
84