Add/Remove users to/from slice
[unfold.git] / portal / templates / slice-tab-users-view.html
index 1751ce9..e1b0618 100644 (file)
                        <th>Enabled</th>
                        </tr>
                </table>
+                               {% if 'is_pi'  in pi %}
+                               <button id="addusers" type="button" class="btn btn-default"><span class="glyphicon glyphicon-ok"></span> Update users</button>
+                               {%endif%}
                </div>
 <script>
     $(document).ready(function() {
-                       //console.log("the value you selected: " + selectedValue);
+                       var slice_users = [];
                $.post("/rest/user/",{'filters':{'parent_authority': "{{user_details.parent_authority}}"}}, function( data ) {
                var list_users = [];
                var table_users = [];
                                                if (element == "{{slice}}"){
                                                        //console.log("the slice is: "+ element);       
                                                        flag_checkbox = 1;
-                                                       user_row += "<td><input type='checkbox' checked='True'></td>";
+                                                       slice_users.push (val.user_hrn)
+                                                       user_row += "<td><input type='checkbox' checked='True' class='user'></td>";
                                                }
                                        }
                                        if(flag_checkbox != 1){
-                               user_row += "<td><input type='checkbox'></td>";
+                               user_row += "<td><input type='checkbox' class='user'></td>";
                                        }
                        user_row += "<td>"+val.user_email+"</td>";
                        user_row += "<td>"+val.user_hrn+"</td>";
                        table_users.push(user_row);
                 
                });
+                                console.log("slice users before");
+                                console.log(slice_users);
+            
                                $("table#user-tab tr:last").after(table_users.join( "" ));
                $("div#user-tab-loaded").css("display","block");
                $("div#user-tab-loading").css("display","none");
-               });
-       //      });
-    });
+                $("input:checkbox.user").click(function() {
+                    console.log("user_hrn");
+                    user_hrn = $(this).closest('tr').find('td:eq(2)').html();
+                    console.log(user_hrn);
+                    console.log(this.checked);
+                    if(this.checked){
+                        var record_id = this.id;
+                        slice_users.push (user_hrn);
+                    }else{
+                        console.log("not checked");
+                        slice_users = $.grep(slice_users, function( user, i ) {
+                            return user != user_hrn;
+                        });
+                    }
+                    console.log(slice_users);
+                });
+           
+               }); // post rest/user
+
+               $('button#addusers').click(function() {
+                $.post("/update/slice/",{'filters':{'slice_hrn':'{{slice}}'},'params':{'users':slice_users}}, function(data) {
+                    console.log(data);
+                       if(data.success){
+                       // TODO: highlight row after success
+                       //$('tr[id="'+record_id+'"]').highlight();
+                       }else{
+                       alert("Rest Error for: "+data.error);
+                       }
+                }); // post update slice
+            
+               // TODO: refresh table
+               //window.location="/portal/institution#slices";
+
+            }); // button#addusers click
+
+    }); // document ready
 </script>