diff --git a/src/components/UserDetail.svelte b/src/components/UserDetail.svelte index a9c77d80..2dc058d0 100644 --- a/src/components/UserDetail.svelte +++ b/src/components/UserDetail.svelte @@ -26,6 +26,9 @@ original_data = Object.assign(original_data, data); editable_userdata = data; usergroups_array = []; + data.groups.forEach((g) => { + usergroups_array.push(g.id); + }); allgroups.forEach((g) => { allgroups_ids.push(g.id); }); @@ -42,26 +45,11 @@ }); $: changes_performed = !lodashIsEqual(original_data, editable_userdata); function updateGroups() { - console.log("updating groups..."); - console.log(editable_userdata.groups); - allgroups.forEach((g) => { - const exists_in_currentstate = editable_userdata.groups.some( - (obj) => obj.id === g.id - ); - console.log("exists:" + exists_in_currentstate); - if (exists_in_currentstate === true) { - editable_userdata.groups = editable_userdata.groups.filter(function ( - obj - ) { - return obj.id !== g.id; - }); - } else { - console.log("add to arr:" + g.id); - editable_userdata.groups.push(g); - } + usergroups_array.forEach((id) => { + const group = allgroups.find((e) => e.id === id); + editable_userdata.groups.push(group); }); - console.log("new groups:"); - console.log(editable_userdata.groups); + editable_userdata.groups = editable_userdata.groups; } function submit() { if (