X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Ftemplates%2Fslice-tab-users-view.html;h=82acd013048cea78101648f688291402c3bfd40b;hb=b9ad9634e8d318e491371b13284e025a35307d9a;hp=eef4161433301258a936e86da80d4cd56305d2de;hpb=a6018e408b2e24c7a8daeeaeae2ebb5b1446926f;p=myslice.git diff --git a/portal/templates/slice-tab-users-view.html b/portal/templates/slice-tab-users-view.html index eef41614..82acd013 100644 --- a/portal/templates/slice-tab-users-view.html +++ b/portal/templates/slice-tab-users-view.html @@ -6,7 +6,10 @@ function get_users_in_slice(authority_hrn){ console.log(authority_hrn); $("table#user-tab").html("+/-EmailUser hrn"); - 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 = []; @@ -43,15 +46,45 @@ $("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 @@ -71,15 +104,8 @@ $( "#auth_list" ).autocomplete({ source: list_authorities, minLength: 0, - change: function (event, ui) { - get_users_in_slice(this.value); - if(!ui.item){ - //http://api.jqueryui.com/autocomplete/#event-change - - //The item selected from the menu, if any. Otherwise the property is null - //so clear the item for force selection - jQuery("#auth_list").val(""); - alert("Please select an authority from the given list.") - } + select: function (event, ui) { + get_users_in_slice(ui.item.value); } //select: function( event, ui ) {console.log(jQuery(this))} }); @@ -87,21 +113,6 @@ 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 @@ -131,8 +142,6 @@ - {% if 'is_pi' in pi %} - {%endif%}