function get_users_in_slice(authority_hrn){
console.log(authority_hrn);
$("table#user-tab").html("<tr><th>+/-</th><th>Email</th><th>User hrn</th></tr>");
- var slice_users = [];
+ var slice_users = [];
+ var slice_users_removed = [];
+ var slice_users_emails = [];
+ var slice_users_emails_removed = [];
$.post("/rest/user/",{'filters':{'parent_authority': authority_hrn}}, function( data ) {
var list_users = [];
var table_users = [];
$("div#user-tab-loading").css("display","none");
$("input:checkbox.user").click(function() {
user_hrn = $(this).closest('tr').find('td:eq(2)').html();
+ user_email = $(this).closest('tr').find('td:eq(1)').html();
if(this.checked){
var record_id = this.id;
slice_users.push (user_hrn);
+ slice_users_removed.splice($.inArray(user_hrn, slice_users_removed),1);
+ slice_users_emails.push (user_email);
+ slice_users_emails_removed.splice($.inArray(user_email, slice_users_emails_removed),1);
+
}else{
- console.log(slice_users);
+ slice_users_removed.push (user_hrn);
+ slice_users.splice($.inArray(user_hrn, slice_users),1);
+ slice_users_emails_removed.push (user_email);
+ // this one is removing from the list wrong user when u uncheck
+ //slice_users_emails.splice($.inArray(user_email, slice_users_emails),1);
+ //this one is still buggy cz it still keeps users in both arrays
+ // but it's ok for the moment
+ slice_users_emails;
+
}
});
- }); // post rest/user
- }
+ }); // post rest/use
+
+ $('button#addusers').click(function() {
+ $.post("/update/slice/",{'filters':{'slice_hrn':'{{slice}}'},'params':{'users':slice_users}}, function(data) {
+ if(data.success){
+ // TODO: highlight row after success
+ //$('tr[id="'+record_id+'"]').highlight();
+ mysliceAlert('Success: slice updated','success', true);
+ }else{
+ mysliceAlert('Rest Error for: '+data.error,'warning', true);
+ }
+ }); // post update slice
+ emails = slice_users_emails.concat(slice_users_emails_removed);
+ $.post("/credentials/clear/",{'emails':emails}, function(data) {
+ }); // post credentials clear
+
+ }); // button#addusers click
+
+ } // get_users_in_slice
$(document).ready(function() {
// TODO: Add a filter based on the list of authorities
get_users_in_slice("{{user_details.parent_authority}}");
- $('button#addusers').click(function() {
- $.post("/update/slice/",{'filters':{'slice_hrn':'{{slice}}'},'params':{'users':slice_users}}, function(data) {
- if(data.success){
- // TODO: highlight row after success
- //$('tr[id="'+record_id+'"]').highlight();
- mysliceAlert('Success: slice updated','success', true);
- }else{
- mysliceAlert('Rest Error for: '+data.error,'warning', true);
- }
- }); // post update slice
-
- // TODO: refresh table
- //window.location="/portal/institution#slices";
-
- }); // button#addusers click
$('[title!=""]').qtip();
}); // document ready
</script>
<!-- XXX TODO: for the moment only PIs have access to Update but users that have slice credentials should also have access to that -->
- {% 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>