Add more roles
This commit is contained in:
parent
1a0d06edcd
commit
e42eda52ac
3 changed files with 46 additions and 11 deletions
|
@ -1,14 +1,32 @@
|
||||||
users:
|
users:
|
||||||
besitzer:
|
besitzer:
|
||||||
displayname: 'Besitzer'
|
displayname: 'Besitzer'
|
||||||
password: '$argon2id$v=19$m=65536,t=3,p=4$Qno2VXJTVVNNNERjVkVXbQ$rEUoGFLekVIVXm76ahP8hcqLHjstRpM1pMLf0tUTBJM'
|
password: '$argon2id$v=19$m=65536,t=3,p=4$P5hG9nb2S7vGF2NPVQ7s6Q$RB7+gjbNtzlWMaMqrJ2T5Vt9xrBYOV9trnNBufrnNFs'
|
||||||
email: mail@example.com
|
email: mail@example.com
|
||||||
groups:
|
groups:
|
||||||
|
- make
|
||||||
|
- edit
|
||||||
- account
|
- account
|
||||||
- serve
|
koch:
|
||||||
|
displayname: 'Koch'
|
||||||
|
password: '$argon2id$v=19$m=65536,t=3,p=4$P5hG9nb2S7vGF2NPVQ7s6Q$RB7+gjbNtzlWMaMqrJ2T5Vt9xrBYOV9trnNBufrnNFs'
|
||||||
|
email: mail@example.com
|
||||||
|
groups:
|
||||||
|
- make
|
||||||
|
bearbeiter:
|
||||||
|
displayname: 'Bearbeiter'
|
||||||
|
password: '$argon2id$v=19$m=65536,t=3,p=4$P5hG9nb2S7vGF2NPVQ7s6Q$RB7+gjbNtzlWMaMqrJ2T5Vt9xrBYOV9trnNBufrnNFs'
|
||||||
|
email: mail@example.com
|
||||||
|
groups:
|
||||||
|
- edit
|
||||||
|
manager:
|
||||||
|
displayname: 'Manager'
|
||||||
|
password: '$argon2id$v=19$m=65536,t=3,p=4$P5hG9nb2S7vGF2NPVQ7s6Q$RB7+gjbNtzlWMaMqrJ2T5Vt9xrBYOV9trnNBufrnNFs'
|
||||||
|
email: mail@example.com
|
||||||
|
groups:
|
||||||
|
- make
|
||||||
|
- edit
|
||||||
bedienung:
|
bedienung:
|
||||||
displayname: 'Bedienung'
|
displayname: 'Bedienung'
|
||||||
password: '$argon2id$v=19$m=65536,t=3,p=4$WjlhejJVSXc5TVNLQVprUw$i6DzQukeTsXh3VL36KtCyt+rAdbJSG5AMe3c8Xiw34Q'
|
password: '$argon2id$v=19$m=65536,t=3,p=4$P5hG9nb2S7vGF2NPVQ7s6Q$RB7+gjbNtzlWMaMqrJ2T5Vt9xrBYOV9trnNBufrnNFs'
|
||||||
email: mail@example.com
|
email: mail@example.com
|
||||||
groups:
|
|
||||||
- serve
|
|
||||||
|
|
|
@ -6,8 +6,10 @@
|
||||||
</template>
|
</template>
|
||||||
<template #end>
|
<template #end>
|
||||||
<div v-if="tablePath">
|
<div v-if="tablePath">
|
||||||
<Button v-if="tablesCount !== 0" :disabled="isLoading" icon="pi pi-minus" class="p-button-danger p-button-rounded mr-2" @click="removeTable" />
|
<div v-if="editor">
|
||||||
<Button :disabled="isLoading" icon="pi pi-plus" class="p-button-success p-button-rounded" @click="addTable" />
|
<Button v-if="tablesCount !== 0" :disabled="isLoading" icon="pi pi-minus" class="p-button-danger p-button-rounded mr-2" @click="removeTable" />
|
||||||
|
<Button :disabled="isLoading" icon="pi pi-plus" class="p-button-success p-button-rounded" @click="addTable" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<router-link v-else :to="{ name: 'Tables' }" class="no-underline">
|
<router-link v-else :to="{ name: 'Tables' }" class="no-underline">
|
||||||
<Button label="Tische" class="p-button-secondary" icon="pi pi-table" />
|
<Button label="Tische" class="p-button-secondary" icon="pi pi-table" />
|
||||||
|
@ -42,6 +44,9 @@ export default defineComponent({
|
||||||
const tablesCount = computed(() => store.getters.getTablesCount);
|
const tablesCount = computed(() => store.getters.getTablesCount);
|
||||||
const tablePath = computed(() => route.path === "/tables");
|
const tablePath = computed(() => route.path === "/tables");
|
||||||
const user = computed<string>(() => store.getters.getUsername);
|
const user = computed<string>(() => store.getters.getUsername);
|
||||||
|
const maker = computed(() => store.getters.getGroups.includes("make"));
|
||||||
|
const editor = computed(() => store.getters.getGroups.includes("edit"));
|
||||||
|
const accountant = computed(() => store.getters.getGroups.includes("account"));
|
||||||
|
|
||||||
const settingsVisible = ref(false);
|
const settingsVisible = ref(false);
|
||||||
provide(visible, settingsVisible);
|
provide(visible, settingsVisible);
|
||||||
|
@ -74,7 +79,7 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
|
|
||||||
const items = ref<MenuItem[]>([
|
const items = ref<MenuItem[]>([
|
||||||
{ label: "Bestellungen", icon: "pi pi-fw pi-history", to: "/orders" },
|
{ label: "Bestellungen", icon: "pi pi-fw pi-history", to: "/orders", visible: () => maker.value },
|
||||||
{
|
{
|
||||||
label: "Artikel",
|
label: "Artikel",
|
||||||
icon: "pi pi-fw pi-shopping-cart",
|
icon: "pi pi-fw pi-shopping-cart",
|
||||||
|
@ -83,20 +88,26 @@ export default defineComponent({
|
||||||
{ label: detailedItemTypeString(types_ItemType.ColdDrink), icon: "pi pi-fw pi-shopping-cart", to: "/items/" + types_ItemType.ColdDrink },
|
{ label: detailedItemTypeString(types_ItemType.ColdDrink), icon: "pi pi-fw pi-shopping-cart", to: "/items/" + types_ItemType.ColdDrink },
|
||||||
{ label: detailedItemTypeString(types_ItemType.HotDrink), icon: "pi pi-fw pi-shopping-cart", to: "/items/" + types_ItemType.HotDrink },
|
{ label: detailedItemTypeString(types_ItemType.HotDrink), icon: "pi pi-fw pi-shopping-cart", to: "/items/" + types_ItemType.HotDrink },
|
||||||
],
|
],
|
||||||
|
visible: () => editor.value,
|
||||||
},
|
},
|
||||||
{ label: "Rechnungen", icon: "pi pi-fw pi-euro", to: "/bills", visible: () => store.getters.getGroups.includes("account") },
|
{ label: "Rechnungen", icon: "pi pi-fw pi-euro", to: "/bills", visible: () => accountant.value },
|
||||||
{ separator: true },
|
{ separator: true },
|
||||||
{
|
{
|
||||||
label: user.value,
|
label: user.value,
|
||||||
icon: "pi pi-fw pi-user",
|
icon: "pi pi-fw pi-user",
|
||||||
items: [
|
items: [
|
||||||
{ label: "Einstellungen", icon: "pi pi-fw pi-cog", command: () => (settingsVisible.value = true) },
|
{
|
||||||
|
label: "Einstellungen",
|
||||||
|
icon: "pi pi-fw pi-cog",
|
||||||
|
command: () => (settingsVisible.value = true),
|
||||||
|
visible: () => maker.value,
|
||||||
|
},
|
||||||
{ label: "Abmelden", icon: "pi pi-fw pi-power-off", command: () => emit("logout") },
|
{ label: "Abmelden", icon: "pi pi-fw pi-power-off", command: () => emit("logout") },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return { items, tablePath, removeTable, addTable, isLoading, tablesCount };
|
return { items, tablePath, removeTable, addTable, isLoading, tablesCount, editor };
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -27,6 +27,12 @@ router.beforeEach(async (to) => {
|
||||||
if (to.name === "Bills") {
|
if (to.name === "Bills") {
|
||||||
if (!store.getters.getGroups.includes("account")) return "/tables";
|
if (!store.getters.getGroups.includes("account")) return "/tables";
|
||||||
}
|
}
|
||||||
|
if (to.name === "Orders") {
|
||||||
|
if (!store.getters.getGroups.includes("make")) return "/tables";
|
||||||
|
}
|
||||||
|
if (to.name === "Items") {
|
||||||
|
if (!store.getters.getGroups.includes("edit")) return "/tables";
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue