hide create project buttons and modal depending on the permission

This commit is contained in:
Gregor Vostrak
2024-10-28 13:37:39 +01:00
parent eb4debe481
commit cd7573dcf1
11 changed files with 29 additions and 2 deletions

View File

@@ -40,6 +40,7 @@ const props = defineProps<{
currency: string;
selectedTimeEntries: TimeEntry[];
enableEstimatedTime: boolean;
canCreateProject: boolean;
}>();
const emit = defineEmits<{
selected: [TimeEntry[]];
@@ -121,6 +122,7 @@ function onSelectChange(event: Event) {
:clients
:createProject
:createClient
:canCreateProject
:projects="projects"
:tasks="tasks"
:showBadgeBorder="false"
@@ -177,6 +179,7 @@ function onSelectChange(event: Event) {
<TimeEntryRow
:projects="projects"
:enableEstimatedTime
:canCreateProject
:tasks="tasks"
:selected="
!!selectedTimeEntries.find(

View File

@@ -38,6 +38,7 @@ const props = defineProps<{
createClient: (client: CreateClientBody) => Promise<Client | undefined>;
currency: string;
enableEstimatedTime: boolean;
canCreateProject: boolean;
}>();
const groupedTimeEntries = computed(() => {
@@ -161,6 +162,7 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
<template v-for="entry in value" :key="entry.id">
<TimeEntryAggregateRow
:createProject
:canCreateProject
:enableEstimatedTime
:selected-time-entries="selectedTimeEntries"
@selected="
@@ -197,6 +199,7 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) {
<TimeEntryRow
:createClient
:enableEstimatedTime
:canCreateProject
:createProject
:projects="projects"
:selected="

View File

@@ -33,6 +33,7 @@ const props = defineProps<{
) => Promise<void>;
currency: string;
enableEstimatedTime: boolean;
canCreateProject: boolean;
}>();
const emit = defineEmits<{
@@ -55,6 +56,7 @@ const showMassUpdateModal = ref(false);
:createClient
:updateTimeEntries
:enableEstimatedTime
:canCreateProject
:currency
:time-entries="selectedTimeEntries"
@submit="emit('submit')"

View File

@@ -36,6 +36,7 @@ const props = defineProps<{
) => Promise<void>;
currency: string;
enableEstimatedTime: boolean;
canCreateProject: boolean;
}>();
const emit = defineEmits<{
@@ -156,6 +157,7 @@ watch(removeAllTags, () => {
:createProject
:createClient
:currency="currency"
:canCreateProject
class="mt-1"
empty-placeholder="Select project..."
allow-reset

View File

@@ -38,6 +38,7 @@ const props = defineProps<{
showMember?: boolean;
showDate?: boolean;
selected?: boolean;
canCreateProject: boolean;
enableEstimatedTime: boolean;
}>();
@@ -111,6 +112,7 @@ function onSelectChange(event: Event) {
<TimeTrackerProjectTaskDropdown
:createProject
:createClient
:canCreateProject
:clients
:projects="projects"
:tasks="tasks"