improved logout link, fixed permissions on task creation
This commit is contained in:
@@ -64,7 +64,7 @@ onMount(fetchModules);
|
|||||||
{#if module.name.trim()}<a href={module.url}>{module.name}</a>{/if}
|
{#if module.name.trim()}<a href={module.url}>{module.name}</a>{/if}
|
||||||
{/each}
|
{/each}
|
||||||
{#if user.name }
|
{#if user.name }
|
||||||
<a onclick={logout}>{t('logout')}</a>
|
<a onclick={logout}>{t('logout_user',{user:user.name})}</a>
|
||||||
{/if}
|
{/if}
|
||||||
<TimeRecorder />
|
<TimeRecorder />
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -32,6 +32,26 @@
|
|||||||
for (let uid of Object.keys(member)) task.members[uid] = project.members[uid];
|
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){
|
function dropMember(member){
|
||||||
delete task.members[member.user.id];
|
delete task.members[member.user.id];
|
||||||
console.log({drop:member.user.id});
|
console.log({drop:member.user.id});
|
||||||
@@ -65,7 +85,7 @@
|
|||||||
project = await resp.json();
|
project = await resp.json();
|
||||||
task.project_id = +project_id;
|
task.project_id = +project_id;
|
||||||
let member_source = parent_task?parent_task.members:project.members;
|
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;
|
error = null;
|
||||||
} else {
|
} else {
|
||||||
error = await resp.text();
|
error = await resp.text();
|
||||||
|
|||||||
@@ -116,6 +116,7 @@
|
|||||||
"login" : "Anmeldung",
|
"login" : "Anmeldung",
|
||||||
"login_services": "Login-Services",
|
"login_services": "Login-Services",
|
||||||
"logout": "Abmelden",
|
"logout": "Abmelden",
|
||||||
|
"logout_user": "{user} abmelden",
|
||||||
"long_click_to_edit": "lang klicken zum Bearbeiten",
|
"long_click_to_edit": "lang klicken zum Bearbeiten",
|
||||||
|
|
||||||
"MANAGE_LOGIN_SERVICES": "Login-Services verwalten",
|
"MANAGE_LOGIN_SERVICES": "Login-Services verwalten",
|
||||||
|
|||||||
@@ -116,6 +116,7 @@
|
|||||||
"login" : "login",
|
"login" : "login",
|
||||||
"login_services": "login service",
|
"login_services": "login service",
|
||||||
"logout": "logout",
|
"logout": "logout",
|
||||||
|
"logout_user": "logout {user}",
|
||||||
"long_click_to_edit": "click long to edit",
|
"long_click_to_edit": "click long to edit",
|
||||||
|
|
||||||
"MANAGE_LOGIN_SERVICES": "manage login services",
|
"MANAGE_LOGIN_SERVICES": "manage login services",
|
||||||
|
|||||||
Reference in New Issue
Block a user