1 {% extends "layout.html" %}
7 <div class="col-md-12">
8 <ul class="nav nav-tabs nav-section">
9 <li class="active"><a href="#existing">Join existing Project</a></li>
10 <li><a href="#new">Create new Project</a></li>
18 <div class="col-md-12">
20 {% for error in errors %}
28 <div class="container tab-content">
30 <div class="tab-pane active" id="existing">
32 <div class="col-md-6">
33 <h3>Join an existing Project</h3>
35 <div class="col-md-6">
36 <h3>List of projects you are part of</h3>
40 <div class="col-md-6">
41 <form role="form" method="post" action="/portal/project_request">
43 <div id="project_loading" style="display:inline;"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading projects" /></div>
44 <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>
47 <div class="col-md-6">
48 <table class="table project-list">
49 {% for pending in pending_projects %}
50 <tr><td>(PENDING) {{ pending.project_name }}</td><td>{{ pending.authority_hrn }}</td><td>{{ pending.created|date:"d/m/Y" }}</td></tr>
52 {% for pending in pending_join_projects %}
53 <tr><td>(PENDING JOIN) {{ pending.project_name }}</td><td> </td><td>{{ pending.created|date:"d/m/Y" }}</td></tr>
61 <div class="tab-pane" id="new">
63 <div class="col-md-12">
64 <h3>Create a new Project</h3>
70 <div class="col-md-12">
71 <form role="form" method="post" action="/portal/project_request">
73 <div class="form-group">
74 <input type="text" name="project_name" value="" style="width:380px;" placeholder="Name" required>
76 <div class="form-group">
77 <select id="org_name" name="authority_name" class="form-control" style="width:380px" value="{{ organization }}" required>
79 {% for authority in authorities %}
80 {% if authority.name %}
81 <option value="{{ authority.authority_hrn }}">{{authority.name}}</option>
83 <option value="{{ authority.authority_hrn }}">{{authority.authority_hrn}}</option>
91 <div class="form-group">
92 <textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Description" style="width:380px" title="Purpose of your project (informative)" required="required"></textarea>
94 <button type="submit" class="btn btn-onelab"><span class="glyphicon glyphicon-plus"></span> Send Request</button>
104 $(document).ready(function() {
105 var myprojects = JSON.parse(localStorage.getItem('projects'));
106 console.log(myprojects);
108 $.each(myprojects, function (i, val){
110 $('.project-list').append('<tr><td>'+ val +'</td></tr>');
113 $('.project-list').html('<tr><td>no projetcs</td></tr>');
116 $('.nav-tabs a').click(function (e) {
120 $.post("/rest/myslice:authority/",{'fields':['authority_hrn','pi_users'],'filters':{'authority_hrn':'CONTAINS{{ root_authority_hrn }}' }}, function( data ) {
123 project_row = "<option value=''> - </option>";
124 projects.push(project_row);
126 $.each( data, function( key, val ) {
127 if(val.authority_hrn.split('.').length > 2){
128 if($.inArray(val.authority_hrn, myprojects)==-1){
129 project_row = "<option value='"+val.authority_hrn+"'>"+val.authority_hrn+"</option>";
130 projects.push(project_row);
134 $("#projects").show();
135 $("#projects_button").css('margin-left', '50px');
136 $("#projects_button").css('display', 'inline-block');
137 $("#project_loading").hide();
138 $("#projects").html(projects.join( "" ));
139 $("#projects").combobox();
143 $("#authority_hrn").load("/rest/user/", {"fields" : ["parent_authority"], "filters": {"user_hrn": "{{ user_hrn }}"}}, function(data) {
144 var jsonData = JSON.parse(data);
145 $(this).attr("value", jsonData[0]['parent_authority']);
147 $("#authority_hrn").val("{{authority_name}}");
148 var availableTags = [
150 {% for authority in authorities %}
151 {% if authority.name %}
152 {value:"{{ authority.name }}",label:"{{authority.name}}"},
153 // to show only full name
155 {value:"{{ authority.authority_hrn }}",label:"{{authority.authority_hrn}}"},
159 {value:"",label:"No authority found !!!"}
163 availableTags.sort(function(a,b){
164 var nameA=a.value.toLowerCase(), nameB=b.value.toLowerCase();
173 $( "#authority_hrn" ).autocomplete({
174 source: availableTags,
176 select: function( event, ui ) {console.log(jQuery(this));}
179 $("#submit_pi").click(function() {
180 localStorage.clear();
182 // auto-complete the form
183 jQuery("#org_name").combobox();