implemented member editing on creating new tasks
Build Docker Image / Docker-Build (push) Successful in 3m5s
Build Docker Image / Clean-Registry (push) Successful in 5s

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-07-01 15:51:55 +02:00
parent 95bd48df82
commit 167365d0b3
2 changed files with 22 additions and 34 deletions
+9 -14
View File
@@ -51,25 +51,21 @@
}
async function load(){
console.log({assignee});
if (parent_task_id) await loadParent();
if (project_id) await loadProject();
if (project_id) loadProject();
if (state_id) task.status = { code : +state_id };
await loadTags();
console.log({task:JSON.parse(JSON.stringify(task))});
loadTags();
}
async function loadParent(){
console.log('loading parent task with id = '+parent_task_id);
const url = api(`task/${parent_task_id}`);
const resp = await get(url);
if (resp.ok){
parent_task = await resp.json();
console.log(JSON.parse(JSON.stringify(parent_task)));
task.parent_task_id = +parent_task_id;
for (let [uid, member] of Object.entries(parent_task.members)){
if (['OWNER','ASSIGNEE'].includes(member.permission.name)) member.permission = { name: 'EDIT', code: 2 };
task.members[uid] = member;
console.log('added member from parent task to new task: '+member.user.name+' ('+member.permission.name+')');
}
project_id = +parent_task.project_id;
yikes();
@@ -78,17 +74,15 @@
}
async function loadProject(){
console.log('loading project '+project_id);
const url = api(`project/${project_id}`);
const resp = await get(url);
if (resp.ok){
project = await resp.json();
console.log(JSON.parse(JSON.stringify(project)));
task.project_id = +project_id;
if (Object.keys(task.members).length < 1) {
for (let [uid, member] of Object.entries(project.members)){
if (['OWNER','ASSIGNEE'].includes(member.permission.name)) member.permission = { name: 'EDIT', code: 2 };
task.members[uid] = member;
console.log('added member from project to new task: '+member.user.name+' ('+member.permission.name+')');
}
}
if (assignee && project.members[assignee]){
@@ -103,11 +97,9 @@
}
async function loadTags(){
let url = null;
if (project_id) url = api(`tags/project/${project_id}`);
if (parent_task_id) url = api(`tags/task/${parent_task_id}`);
console.log('loading tags: ',url);
if (url) {
const resp = await get(url);
if (resp.ok) task.tags = await resp.json();
@@ -122,7 +114,6 @@
}
async function saveTask(){
console.log({task:JSON.parse(JSON.stringify(task))});
const url = api('task/add');
const resp = await post(url,task);
if (resp.ok) {
@@ -143,6 +134,10 @@
extendedSettings = !extendedSettings;
}
function updatePermission(uid,perm){
task.members[uid].permission = perm;
}
onMount(load);
</script>
@@ -180,7 +175,7 @@
{#if extendedSettings}
<div>{t('members')}</div>
<div>
<PermissionEditor members={task.members} {addMember} {dropMember} {getCandidates} />
<PermissionEditor members={task.members} {addMember} {dropMember} {getCandidates} {updatePermission} />
</div>
<div>{t('estimated_time')}</div>