Merge branch 'onelab' of ssh://git.onelab.eu/git/myslice into onelab
[unfold.git] / portal / templates / account-view.html
1 {% extends "layout-unfold1.html" %}
2 {% block unfold_main %}
3
4
5 {% if messages %}
6 <ul class="messages">
7     {% for message in messages %}
8     <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
9     {% endfor %}
10 </ul>
11 {% endif %}
12
13 <div class="wrapper" id="institution">
14     <ul class="nav nav-tabs">
15       <li class="active"><a class="home-tab" data-panel="user_profile" href="#">User Profile</a></li>
16       <li><a class="home-tab" data-panel="principal_acc" href="#">User Account</a></li>
17       <li><a class="home-tab" data-panel="ref_acc" href="#">Testbed Access</a></li>
18     </ul>
19 <div class="home-panel" id="user_profile">
20 <p></p>
21 <form id="editForm"  method="POST" action="account_process" enctype="multipart/form-data">
22 <div id="middle" align="center">
23         <div class="well">
24                 {% csrf_token %}
25                         <table class="profile">          
26                         <tr class="odd">
27                                 <td colspan="2">
28                                                 <div id="info">Platform: Myslice</div>
29                                 </td>
30                         </tr>
31                         <tr class="even">
32                                 <td class="key">Email</td>
33                                 <td class="value">
34                                                 <span id="emailval" class="value" >{{ person.email }}</span>
35                                                 <button class="btn btn-default btn-xs" type="button" id="edit_email" onclick="editAlert()"  title="To change your affiliation please contact the administrator">
36                                                 <span class="glyphicon glyphicon-question-sign"></span> Edit
37                                                 </button>
38                                         </td>
39                         </tr>
40                         <tr class="odd">
41                                         <td class="key">Password</td>
42                                         <td class="value"> 
43                                                 <button class="btn btn-default btn-xs" type="button" title="Password" name="edit_pass" id="edit_pass">
44                                                         <span class="glyphicon glyphicon-edit"></span> Edit
45                                                 </button>
46                                                 <span id="passval"class="value">******** </span>
47                                                 <span class="hide_this" id="span_pass">
48                                                 <button type="button" class="btn btn-default btn-xs" title="Cancel" id="cancel_pass_change"> Cancel </button>
49                                                 <div style='display:none;' id="pass_form">
50                                                 <input type='hidden'  value='' /></div>
51                                                 <table id="edit_password">
52                                                         <tr>
53                                                                         <td>Enter password: </td>
54                                                                         <td class="field"> <input type="password" name="password" id="password" /> </td>
55                                                                 </tr>
56                                                                 <tr>
57                                                                         <td>Confirm password: </td>
58                                                                         <td class="field"> 
59                                                                                 <input type="password" name="confirmpassword" id="confirmpassword" /> 
60                                                                                 <input type="submit" class="btn btn-default btn-xs" name="submit_pass" value="Save"/> 
61                                                                         </td>
62                                                         </tr>
63                                                 </table>
64                                                 </span> 
65                                         </td>
66                         </tr>
67                         <tr class="even">
68                                         <td class="key">Full Name</td>
69                                         <td class="value">
70                                                 <span id="nameval" class="value" >{{ fullname }} </span>
71                                                 <span class="hide_this" id="span_name">
72                                                 <button type="button" class="btn btn-default btn-xs" title="Cancel" id="cancel_name_change"> Cancel </button> 
73                                                 <div style='display:none;'><input type='hidden'  name='nameform'  /></div>
74                                                 <input id="fname" type="text" name="fname" class="required"  maxlength="200" value="{{firstname}}" />
75                                                 <input id="lname" type="text" name="lname" class="required"  maxlength="200" value="{{lastname}}" />
76                                                 <input type="submit" class="btn btn-default btn-xs" name="submit_name" value="Save"/>
77                                                 </span>
78                                                 <button class="btn btn-default btn-xs" type="button"title="Full Name" id="edit_name">
79                                                         <span class="glyphicon glyphicon-edit"></span> Edit
80                                                 </button>
81                                         </td>
82                         </tr>
83                         <tr class="odd">
84                                         <td class="key">Authority</td>
85                                         <td class="value">
86                                                 <span id="affval" class="value">{{ authority }}</span>
87                                                  <button class="btn btn-default btn-xs" type="button" id="edit_auth" onclick="editAlert()"  title="To change your authority please contact the administrator">
88                                                 <span class="glyphicon glyphicon-question-sign"></span> Edit
89                                                  </button>
90                                         </td>
91                                 </tr>
92                                 <tr class="even">
93                                         <td class="key">Generate Keys</td>
94                                         <td>
95                                                 <input type="submit" name="generate" class="btn btn-danger btn-xs" value="Generate a new Key Pair" id="generate_keypair" 
96                                                            onclick="return confirm('Are you sure? If you do so, your current credentials will be overwritten.');" 
97                                                            title="It will generate a new key Pair and your current credentials will be overwritten."/>
98                                 </td> 
99                         </tr>
100                         <tr class="odd">
101                                 <td class="key">Public Key</td>
102                                 <td class="value">
103                                                 <span id="keyval" class="value">******** </span>
104                                                 <span class="hide_this" id="span_upload">
105                                                         <button type="button" class="btn btn-default btn-xs" title="Cancel" id="cancel_upload"> Cancel </button>
106                                                         <div style='display:none;'>
107                                                                 <input type='hidden'  name='upload'  /></div>
108                                                                 <input type="file" name="pubkey" class="required" id="pubkey"/>  
109                                                                 <input class="btn btn-default btn-xs" name="upload_key" id="upload_key"  type="submit" title="Upload your public key" value="Upload"
110                                                                    onclick="return confirm('Are you sure? It will overwrite your current credentials and you have delegate it manually.');"/>
111                                                 </span>
112                                                 <div style='display:none;'> <input type='hidden'  name='dload'  /> </div> 
113                                                 <button type="submit" name="dl_pubkey" class="btn btn-default btn-xs" title="Download your public key" id="dl_file">
114                                                         <span class="glyphicon glyphicon-download"></span> Download
115                                                 </button>
116                                                 <button class="btn btn-default btn-xs" id="upload_file" type="button" title="Upload a public key">
117                                                         <span class="glyphicon glyphicon-upload"></span> Upload
118                                                 </button>       
119                                 </td>
120                         </tr>
121                         <tr class="even" id="pkey_row">
122                                  {%if 'N/A' not in user_private_key%}
123                                 <td class="key">Private Key </td> <!-- Hide if priv_key doesn't exist in myslice platform   -->
124                                 <td class="value">********<a href="#">
125                                         <button type="submit" name="dl_pkey" class="btn btn-default btn-xs" title="Download your privaye key" id="dl_pkey">
126                                                         <span class="glyphicon glyphicon-download"></span> Download     
127                                                 </button>
128                                         <input class="btn btn-danger btn-xs" id="delete" name="delete" type="submit"  value="Delete" title="Delete your private key"
129                                                                 onclick="return confirm('Are you sure? If you do so, you have to delegate your credentials manually.');"/> 
130                                 </td>
131                                   {%else%}
132                                         <td class="key">Private Key </td> <!-- Hide if priv_key doesn't exist in myslice platform   -->
133                                         <td class="value">********<a href="#">
134                                         <button type="submit" name="dl_pkey" class="btn btn-default btn-xs disabled" title="Download your privaye key" id="dl_pkey">
135                                                 <span class="glyphicon glyphicon-download"></span> Download 
136                                         </button>
137                                         <input class="btn btn-danger btn-xs disabled" id="delete" name="delete" type="submit" title="Delete your private key"
138                                                                 value="Delete"  />
139                                         </td>
140                                  {%endif%}              
141                                 </tr>
142                                 <tr class="odd">
143                                 <td colspan="2">
144                                         <p class="message" id="pkey_del_msg"><b> Tradeoff:</b> Ease-of-use vs Security.<br>
145                                                         <b>Ease-of-use:</b> Automatic account delegation. Don't delete private key.<br>
146                                                         <b>Security:</b> Manual account delegation. Download & Delete private key.
147                                                 </p>
148                                 </td>
149                                 </tr>
150                         </table>
151         </div>
152 </div>
153 </div>
154
155 <div class="home-panel" id="principal_acc" style="display:none;">
156
157 <h3>Principal Account <small>Account used for delegating credentials</small></h3>
158 <div id="middle" align="center">
159         <div class="well">
160                 <table class="table table-bordered table-hover  mytable"> 
161                         <tr class="odd"> 
162                         <th>Platform</th> 
163                         <th>Account Type</th>
164                                 <th>Account Delegation</th>
165                         <th>User hrn</th>
166                                 <th>User Status</th>
167                         <!--<th>Pub Key</th> -->
168                 </tr>   
169                         {% for row in principal_acc %}         
170                         <tr class="border_bottom">
171                         <td class="odd"> {{ row.platform_name }} </td>
172                         <td class="odd"> {{ row.account_type }} </td>
173                                 <td class="odd"> {{ row.delegation_type }} </td>
174                         <td class="odd"> {{ row.usr_hrn }}  </td>
175                                 <td class="odd"> {{ row.user_status }}  </td>
176                 <!--    <td class="even"> {{ row.usr_pubkey }} </td> -->
177                 </tr> 
178                         {%endfor%}               
179                 </table>
180         </div>
181 </div>
182
183
184
185 {%if 'Enabled'  in user_status %}
186 <h3>Credentials <small>Delegated to Principal Account</small></h3>
187 <div id="middle" align="center">
188     <div class="well">
189         <table class="mytable table table-bordered table-hover">
190                         <caption><b>Delegated User Credential</b></caption> 
191             <tr class="odd"> 
192                 <th>Expiration Date</th>
193                                 <th>Download</th>
194             </tr>
195                         {% for row in my_users %}         
196                         <tr class="border_bottom">
197                         <td class="odd"> {{ row.cred_exp }} </td>
198                                 <td class="odd">
199                                         <button class="btn btn-default btn-xs" name= "dl_user_cred" type="submit" title="Download User Credential">
200                                                 <span class="glyphicon glyphicon-download"></span> Download
201                                         </button>
202                                 </td>
203                         </tr>
204                         {%endfor%}
205                  </table>
206                 <p></p>
207                 <table class="mytable table table-bordered table-hover">
208                         <caption><b>Delegated Slice Credentials</b></caption>  
209                 <tr class="odd"> 
210                                 <th>Slice Name</th> 
211                         <th>Expiration Date</th>
212                                 <th>Download</th>
213                 </tr>
214                         {% for row in my_slices %}     
215                 <tr class="border_bottom">
216                         <td class="odd"> {{ row.slice_name }} </td>
217                                 <td class="odd"> {{ row.cred_exp }} </td>
218                                 <td class="odd"> 
219                                         <button class="btn btn-default btn-xs" name= "dl_{{row.slice_name}}" type="submit" title="Download Slice Credentials">
220                                                 <span class="glyphicon glyphicon-download"></span> Download
221                                         </button> 
222                                 </td>
223                 </tr>
224                 {%endfor%}
225                 </table>
226                 <p></p>
227                 <table class="mytable table table-bordered table-hover">
228                         <caption><b>Delegated Authority Credentials</b></caption>
229                         <tr class="odd"> 
230                         <th>Authority Name</th> 
231                         <th>Expiration Date</th>
232                                 <th>Download</th>
233                         </tr>
234                         {% for row in my_auths %}
235                         <tr class="border_bottom">
236                         <td class="odd"> {{ row.auth_name }} </td>
237                         <td class="odd"> {{ row.cred_exp }} </td>
238                                 <td class="odd">
239                                         <button class="btn btn-default btn-xs" name= "dl_{{row.auth_name}}" type="submit" title="Download Authority Credentials">
240                                                 <span class="glyphicon glyphicon-download"></span> Download
241                                         </button>
242                                 </td>
243                         </tr>
244                         {%endfor%}
245                 </table>
246                 <p></p>
247                  {%if '' not in my_users%}      
248                 <p><button class="btn btn-danger btn-lg btn-block"   name= "clear_cred" type="submit" title="Clear All Credentials">Clear Credentials</button></p>
249                 {%else%}
250                 <p><button class="btn btn-danger btn-lg btn-block disabled"   name= "clear_cred" type="submit" title="Clear All Credentials">Clear Credentials</button></p>
251                 {%endif%}
252     </div>
253 </div>
254 </div>
255
256
257 <div class="home-panel" id="ref_acc" style="display:none;">
258 <h3>Testbed Access <small>Reference Accounts in the following testbeds</small></h3>
259 <div id="middle" align="center">
260     <div class="well">
261         <table class="mytable table table-bordered table-hover"> 
262             <tr class="odd"> 
263                 <th>Platform</th> 
264                 <th>Account Type</th>
265                                 <th>Reference to</th>
266                                 <th>Remove Account</th>
267             </tr>   
268             {% for row in ref_acc %}         
269             <tr class="border_bottom">
270                 <td class="odd"> {{ row.platform_name }} </td>
271                 <td class="odd"> {{ row.account_type }} </td>
272                                 <td class="odd"> {{ row.account_reference }} </td>
273                                 <td class="odd">
274                                 <button class="btn btn-danger btn-xs" name="delete_{{row.platform_name}}" type="submit" title="Delete account from this platform">
275                                                 <span class="glyphicon glyphicon-minus"></span>
276                                         </button>
277                                 </td>
278             </tr> 
279             {%endfor%}               
280         </table>
281     </div>
282 </div>
283
284
285
286 <h3>Add reference account to the following testbeds</h3>
287 <div id="middle" align="center">
288     <div class="well">
289         <table class="mytable table table-bordered table-hover"> 
290             <tr class="odd"> 
291                 <th>Platforms</th> 
292                 <th>Add Account</th>
293             </tr>   
294             {% for platform in platform_list %}         
295             <tr class="border_bottom">
296                 <td class="odd"> {{ platform.platform_no_access }} </td>
297                 <td class="odd">
298                                         <button class="btn btn-success btn-sm" name= "add_{{platform.platform_no_access}}" type="submit" title="Add account to this platform">
299                                                 <span class="glyphicon glyphicon-plus"></span>
300                                         </button>
301                                 </td>
302             </tr> 
303             {%endfor%}               
304         </table>
305     </div>
306 </div>
307 </div>
308 {%endif%} 
309 </div>
310 </form>
311 </div>
312
313 <script>
314     $(document).ready(function() {
315         $('a.home-tab').click(function() {
316             $('ul.nav-tabs li').removeClass('active');
317             $(this).parent().addClass('active');
318             $('div.home-panel').hide();
319             $('div#'+$(this).data('panel')).show();
320         });
321         $('button#createslice').click(function() {
322             window.location="/portal/slice_request/";
323         })
324         ;$('button#slicerequestbtn').click(function() {
325             /*
326             window.location="/portal/slice_request/";
327             */
328         });
329     });
330 </script>
331
332 {% endblock %}