From 72f897c40cbdbc737f4652f1ec4c46236d994abe Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 17 Mar 2026 00:56:42 +0100 Subject: [PATCH] fixed permissionEditor in various locations Signed-off-by: Stephan Richter --- frontend/src/Components/PermissionEditor.svelte | 6 +----- frontend/src/routes/poll/Edit.svelte | 2 +- frontend/src/routes/project/View.svelte | 2 +- frontend/src/routes/task/Add.svelte | 8 ++++---- frontend/src/routes/task/View.svelte | 13 +++++++------ frontend/src/routes/wiki/View.svelte | 7 +++---- 6 files changed, 17 insertions(+), 21 deletions(-) diff --git a/frontend/src/Components/PermissionEditor.svelte b/frontend/src/Components/PermissionEditor.svelte index ec5b56e1..af81e957 100644 --- a/frontend/src/Components/PermissionEditor.svelte +++ b/frontend/src/Components/PermissionEditor.svelte @@ -42,10 +42,6 @@ } else error(resp); } - function onSelect(entry){ - addMember(entry); - } - onMount(loadPermissions); @@ -65,7 +61,7 @@ {t('add_object',{object:t('member')})} - + diff --git a/frontend/src/routes/poll/Edit.svelte b/frontend/src/routes/poll/Edit.svelte index 41e240b4..44d80598 100644 --- a/frontend/src/routes/poll/Edit.svelte +++ b/frontend/src/routes/poll/Edit.svelte @@ -20,7 +20,7 @@ let members = $state([]); function addMember(member){ - for (let [id,name] of Object.entries(member)) update_permissions({user_id:+id,permission:4}); + update_permissions({user_id:+member.id,permission:4}); return true; } diff --git a/frontend/src/routes/project/View.svelte b/frontend/src/routes/project/View.svelte index fc4ecac4..24659282 100644 --- a/frontend/src/routes/project/View.svelte +++ b/frontend/src/routes/project/View.svelte @@ -29,7 +29,7 @@ let state_available=$derived(new_state.name && new_state.code && !project.allowed_states[new_state.code]); async function addMember(user){ - update({new_member:+user.id}); + return await update({new_member:+user.id}); } async function addState(){ diff --git a/frontend/src/routes/task/Add.svelte b/frontend/src/routes/task/Add.svelte index fddb9cd9..0e9d5bcc 100644 --- a/frontend/src/routes/task/Add.svelte +++ b/frontend/src/routes/task/Add.svelte @@ -29,7 +29,8 @@ let router = useTinyRouter(); function addMember(member){ - for (let uid of Object.keys(member)) task.members[uid] = project.members[uid]; + let uid = member.id; + task.members[uid] = project.members[uid]; } function flat(json){ @@ -44,10 +45,9 @@ async function getCandidates(text){ const origin = parent_task ? parent_task.members : project.members; - const candidates = Object.values(origin) + return Object.values(origin) .filter(member => member.user.name.toLowerCase().includes(text.toLowerCase())) - .map(member => [member.user.id,member.user.name]); - return Object.fromEntries(candidates); + .map(member => {return { id:member.user.id,display:member.user.name}}); } async function load(){ diff --git a/frontend/src/routes/task/View.svelte b/frontend/src/routes/task/View.svelte index d8077dcb..d2a001d3 100644 --- a/frontend/src/routes/task/View.svelte +++ b/frontend/src/routes/task/View.svelte @@ -37,9 +37,8 @@ router.navigate(`/task/${id}/add_subtask`); } - async function addMember(entry){ - const ids = Object.keys(entry); - if (ids) update({new_member:+ids.pop()}); + async function addMember(newMember){ + return await update({new_member:+newMember.id}); } async function addTime(){ @@ -64,10 +63,10 @@ async function getCandidates(text){ const origin = task.parent ? task.parent.members : project.members; - const candidates = Object.values(origin) + return Object.values(origin) .filter(member => member.user.name.toLowerCase().includes(text.toLowerCase())) - .map(member => [member.user.id,member.user.name]); - return Object.fromEntries(candidates); + .map(member => { return {id:member.user.id,display:member.user.name}}); + } function gotoKanban(){ @@ -177,6 +176,8 @@ }); if (resp.ok){ yikes(); + let json = await resp.json(); + if (json.members) task.members = json.members; return true; } else { error(resp); diff --git a/frontend/src/routes/wiki/View.svelte b/frontend/src/routes/wiki/View.svelte index 78d87608..eb36254a 100644 --- a/frontend/src/routes/wiki/View.svelte +++ b/frontend/src/routes/wiki/View.svelte @@ -22,9 +22,8 @@ async function addMember(entry){ let newMembers = JSON.parse(JSON.stringify(page.members)); - for (var id of Object.keys(entry)){ - if (!newMembers[id]) newMembers[id] = { permission : {name:'READ_ONLY'} }; - } + let id = entry.id; + if (!newMembers[id]) newMembers[id] = { permission : {name:'READ_ONLY'} }; return patch({members:newMembers}); } @@ -74,7 +73,7 @@ }); if (resp.ok){ var json = await resp.json(); - return Object.fromEntries(Object.values(json).filter(nonMember).map(user => [user.id,user.name])); + return Object.values(json).filter(nonMember).map(user => { return {id:user.id,display:user.name}}); } else { return []; }