improved logout link, fixed permissions on task creation

This commit is contained in:
2025-09-23 10:54:36 +02:00
parent 771fa28fe4
commit f549269326
4 changed files with 24 additions and 2 deletions

View File

@@ -64,7 +64,7 @@ onMount(fetchModules);
{#if module.name.trim()}<a href={module.url}>{module.name}</a>{/if}
{/each}
{#if user.name }
<a onclick={logout}>{t('logout')}</a>
<a onclick={logout}>{t('logout_user',{user:user.name})}</a>
{/if}
<TimeRecorder />
</nav>

View File

@@ -32,6 +32,26 @@
for (let uid of Object.keys(member)) task.members[uid] = project.members[uid];
}
function flat(json){
return JSON.parse(JSON.stringify(json));
}
function copyMembers(source){
task.members = {};
let owner = null;
let me = null;
for (let [uid, member] of Object.entries(source)){
task.members[uid] = member;
if (member.permission.name == 'OWNER') owner = flat(member);
if (uid == user.id) me = flat(member);
}
if (owner && me) {
// of someone else is owner of the parent task or project, make current user the owner
task.members[me.user.id].permission = owner.permission;
task.members[owner.user.id].permission = me.permission;
}
}
function dropMember(member){
delete task.members[member.user.id];
console.log({drop:member.user.id});
@@ -65,7 +85,7 @@
project = await resp.json();
task.project_id = +project_id;
let member_source = parent_task?parent_task.members:project.members;
task.members = JSON.parse(JSON.stringify(member_source)); // deep copy
copyMembers(member_source);
error = null;
} else {
error = await resp.text();

View File

@@ -116,6 +116,7 @@
"login" : "Anmeldung",
"login_services": "Login-Services",
"logout": "Abmelden",
"logout_user": "{user} abmelden",
"long_click_to_edit": "lang klicken zum Bearbeiten",
"MANAGE_LOGIN_SERVICES": "Login-Services verwalten",

View File

@@ -116,6 +116,7 @@
"login" : "login",
"login_services": "login service",
"logout": "logout",
"logout_user": "logout {user}",
"long_click_to_edit": "click long to edit",
"MANAGE_LOGIN_SERVICES": "manage login services",