* disable invoice downloads until invoices exist * enable github-hosted frontend ci runners * Update POS invoice download visual expectations * Fix full E2E i18n and self-serve coverage * Review dynamic view i18n keys --------- Co-authored-by: Jeppe Bundgaard <jb@truckwash.dk>
44 lines
1.1 KiB
Vue
44 lines
1.1 KiB
Vue
<script setup>
|
|
import { authenticatedRequest } from "@/components/session/authenticatedRequest.vue";
|
|
import LoadButtonWhileAwait from "@/components/request/LoadButtonWhileAwait.vue";
|
|
import { handleEconomicError } from "@/components/request/HandleEconomicError.vue";
|
|
import { computed } from "vue";
|
|
|
|
const props = defineProps(["invoice_id"]);
|
|
|
|
const hasInvoice = computed(() => {
|
|
return props.invoice_id !== null && props.invoice_id !== undefined && String(props.invoice_id).trim() !== "";
|
|
});
|
|
|
|
const getOrderPDF = async () => {
|
|
if (!hasInvoice.value) {
|
|
return;
|
|
}
|
|
|
|
await authenticatedRequest("/invoices/pdf", "GET", {
|
|
id: props.invoice_id,
|
|
}).then((response) => {
|
|
// Open the PDF in a new tab
|
|
window.open(response.data.data.url, "_blank");
|
|
}).catch((error) => {
|
|
handleEconomicError(error);
|
|
});
|
|
};
|
|
</script>
|
|
|
|
<template>
|
|
<LoadButtonWhileAwait
|
|
class="is-dark"
|
|
:loadFunction="getOrderPDF"
|
|
:disabled="!hasInvoice"
|
|
actionKey="economic-invoice-pdf-download"
|
|
icon="fas fa-file-pdf"
|
|
>
|
|
Hent faktura PDF
|
|
</LoadButtonWhileAwait>
|
|
</template>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|