Institution: message when update succeed or fails using rest
[unfold.git] / portal / static / js / institution.js
1 $(document).ready(function() {
2         loadedTabs = [];
3         
4         $('.nav-tabs a').click(function (e) {
5                 e.preventDefault();
6                 $(this).tab('show');
7                 id = $(this).attr('href').substr(1);
8                 if (!(id in loadedTabs)) {
9                         switch(id) {
10                                 case 'users':
11                                         //loadUsers();
12                                         loadedTabs[id] = true;
13                                 break;
14                         }
15                 }
16                 
17         });
18
19     $('button#deleteusers').click(function() {
20         $('input:checkbox.user').each(function (index) {
21             if(this.checked){
22                 var record_id = this.id;
23                 $.post("/delete/user/",{'filters':{'user_hrn':this.id}}, function(data) {
24                     if(data.success){
25                         $('tr[id="'+record_id+'"]').fadeOut("slow");
26                         $('tr[id="'+record_id+'"]').remove();
27                         mysliceAlert('Success: user deleted','success', true);
28                     }else{
29                         mysliceAlert('Rest Error for: '+data.error,'warning', true);
30                         //alert("Rest Error for "+record_id+": "+data.error);
31                     }   
32                 });     
33             } 
34         });
35     });
36
37     /* TODO: factorize into functions */
38     $('button#deleteslices').click(function() {
39         $('input:checkbox.slice').each(function (index) {
40             if(this.checked){
41                 var record_id = this.id;
42                 $.post("/delete/slice/",{'filters':{'slice_hrn':this.id}}, function(data) {
43                     if(data.success){
44                         $('tr[id="'+record_id+'"]').fadeOut("slow");
45                         $('tr[id="'+record_id+'"]').remove();
46                         mysliceAlert('Success: slice deleted','success', true);
47                     }else{
48                         mysliceAlert('Rest Error for: '+data.error,'warning', true);
49                         //alert("Rest Error for "+record_id+": "+data.error);
50                     }
51                 });
52             }
53         });
54     });
55     $('button#renewslices').click(function() {
56         var now = new Date();
57         /* In Javascript getMonth() gives month[0] = january, month[1] = february, and so on...  */
58         var month = now.getMonth()+2;
59         var one_month_later = now.getFullYear()+"-"+month+"-"+now.getDate()+" "+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds();
60         console.log(one_month_later);
61         $('input:checkbox.slice').each(function (index) {
62             if(this.checked){
63                 var record_id = this.id;
64                 $.post("/update/slice/",{'filters':{'slice_hrn':this.id},'params':{'expires':one_month_later}}, function(data) {
65                     if(data.success){
66                         // TODO: highlight row after success
67                         //$('tr[id="'+record_id+'"]').highlight();
68                         mysliceAlert('Success: slice renewed','success', true);
69                     }else{
70                         mysliceAlert('Rest Error for: '+data.error,'warning', true);
71                         //alert("Rest Error for "+record_id+": "+data.error);
72                     }
73                 });
74                 
75             }
76         });
77         // TODO: refresh table
78         //window.location="/portal/institution#slices";
79     });
80
81     $('button#createslice').click(function() {
82         window.location="/portal/slice_request/";
83     });
84     $('button#slicerequestbtn').click(function() {
85         /*
86         window.location="/portal/slice_request/";
87         */
88     });
89 });
90
91 /*function loadUsers() {
92         $('div#users table').load('/table/user/',
93                 {
94                         'fields'  : [ 'user_hrn', 'user_first_name', 'user_last_name', 'user_email', 'user_phone' ],
95                         'filters' : { 'parent_authority' : $('div#users').data('authority') },
96                         'options' : [ 'checkbox' ]
97                 }
98         );
99 }*/