Compare commits

...

1 Commits

Author SHA1 Message Date
Gregor Vostrak
d80896e0b8 respect organization currency setting in shared report 2025-05-06 12:37:38 +02:00
3 changed files with 14 additions and 5 deletions

View File

@@ -4,7 +4,6 @@ import { formatCents } from '@/packages/ui/src/utils/money';
import GroupedItemsCountButton from '@/packages/ui/src/GroupedItemsCountButton.vue';
import { ref } from 'vue';
import { twMerge } from 'tailwind-merge';
import { getOrganizationCurrencyString } from '@/utils/money';
type AggregatedGroupedData = GroupedData & {
grouped_data?: GroupedData[] | null;
@@ -19,6 +18,7 @@ type GroupedData = {
const props = defineProps<{
entry: AggregatedGroupedData;
indent?: boolean;
currency: string;
}>();
const expanded = ref(false);
@@ -48,7 +48,7 @@ const expanded = ref(false);
{{ formatHumanReadableDuration(entry.seconds) }}
</div>
<div class="justify-end pr-6 flex items-center">
{{entry.cost ? formatCents(entry.cost, getOrganizationCurrencyString()) : '--' }}
{{entry.cost ? formatCents(entry.cost, props.currency) : '--' }}
</div>
</div>
<div
@@ -58,6 +58,7 @@ const expanded = ref(false);
<ReportingRow
v-for="subEntry in entry.grouped_data"
:key="subEntry.description ?? 'none'"
:currency="props.currency"
indent
:entry="subEntry"></ReportingRow>
</div>

View File

@@ -446,6 +446,7 @@ const tableData = computed(() => {
<ReportingRow
v-for="entry in tableData"
:key="entry.description ?? 'none'"
:currency="getOrganizationCurrencyString()"
:entry="entry"
:type="
aggregatedTableTimeEntries.grouped_type

View File

@@ -5,7 +5,6 @@ import { ChartBarIcon } from '@heroicons/vue/20/solid';
import ReportingChart from '@/Components/Common/Reporting/ReportingChart.vue';
import { formatHumanReadableDuration } from '@/packages/ui/src/utils/time';
import ReportingRow from '@/Components/Common/Reporting/ReportingRow.vue';
import { getOrganizationCurrencyString } from '@/utils/money';
import ReportingPieChart from '@/Components/Common/Reporting/ReportingPieChart.vue';
import { formatCents } from '@/packages/ui/src/utils/money';
import { computed, onMounted, ref } from 'vue';
@@ -41,6 +40,13 @@ onMounted(() => {
}
});
const reportCurrency = computed(() => {
if (sharedReportResponseData.value) {
return sharedReportResponseData.value?.currency;
}
return 'EUR';
});
const aggregatedTableTimeEntries = computed(() => {
if (sharedReportResponseData.value) {
return sharedReportResponseData.value?.data;
@@ -193,6 +199,7 @@ onMounted(async () => {
<ReportingRow
v-for="entry in tableData"
:key="entry.description ?? 'none'"
:currency="reportCurrency"
:entry="entry"
:type="
aggregatedTableTimeEntries.grouped_type
@@ -206,7 +213,7 @@ onMounted(async () => {
class="justify-end flex items-center font-medium">
{{
formatHumanReadableDuration(
aggregatedTableTimeEntries.seconds
aggregatedTableTimeEntries.seconds,
)
}}
</div>
@@ -215,7 +222,7 @@ onMounted(async () => {
{{
formatCents(
aggregatedTableTimeEntries.cost,
getOrganizationCurrencyString()
reportCurrency,
)
}}
</div>