Browse Source

improved logout link, fixed permissions on task creation

feature/global_error_display
Stephan Richter 1 month ago
parent
commit
f549269326
  1. 2
      frontend/src/Components/Menu.svelte
  2. 22
      frontend/src/routes/task/Add.svelte
  3. 1
      translations/src/main/resources/de.json
  4. 1
      translations/src/main/resources/en.json

2
frontend/src/Components/Menu.svelte

@ -64,7 +64,7 @@ onMount(fetchModules); @@ -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>

22
frontend/src/routes/task/Add.svelte

@ -32,6 +32,26 @@ @@ -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 @@ @@ -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();

1
translations/src/main/resources/de.json

@ -116,6 +116,7 @@ @@ -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",

1
translations/src/main/resources/en.json

@ -116,6 +116,7 @@ @@ -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",

Loading…
Cancel
Save