changes 0328092025

This commit is contained in:
Simon Pocrnjič
2025-09-28 22:36:47 +02:00
parent b40ee9dcde
commit 7e8e0a479b
61 changed files with 4306 additions and 654 deletions
+18 -6
View File
@@ -24,6 +24,7 @@ const props = defineProps({
contracts: Array,
activities: Object,
contract_types: Array,
account_types: { type: Array, default: () => [] },
actions: Array,
types: Object,
documents: Array,
@@ -42,15 +43,19 @@ const onUploaded = () => {
const viewer = ref({ open: false, src: '', title: '' });
const openViewer = (doc) => {
const kind = classifyDocument(doc)
const isContractDoc = (doc?.documentable_type || '').toLowerCase().includes('contract')
if (kind === 'preview') {
const url = route('clientCase.document.view', { client_case: props.client_case.uuid, document: doc.uuid })
viewer.value = { open: true, src: url, title: doc.original_name || doc.name };
const url = isContractDoc && doc.contract_uuid
? route('contract.document.view', { contract: doc.contract_uuid, document: doc.uuid })
: route('clientCase.document.view', { client_case: props.client_case.uuid, document: doc.uuid })
viewer.value = { open: true, src: url, title: doc.original_name || doc.name }
} else {
const url = route('clientCase.document.download', { client_case: props.client_case.uuid, document: doc.uuid })
// immediate download: navigate to URL
const url = isContractDoc && doc.contract_uuid
? route('contract.document.download', { contract: doc.contract_uuid, document: doc.uuid })
: route('clientCase.document.download', { client_case: props.client_case.uuid, document: doc.uuid })
window.location.href = url
}
};
}
const closeViewer = () => { viewer.value.open = false; viewer.value.src = ''; };
const clientDetails = ref(false);
@@ -245,7 +250,12 @@ const submitAttachSegment = () => {
<DocumentsTable
:documents="documents"
@view="openViewer"
:download-url-builder="doc => route('clientCase.document.download', { client_case: client_case.uuid, document: doc.uuid })"
:download-url-builder="doc => {
const isContractDoc = (doc?.documentable_type || '').toLowerCase().includes('contract')
return isContractDoc && doc.contract_uuid
? route('contract.document.download', { contract: doc.contract_uuid, document: doc.uuid })
: route('clientCase.document.download', { client_case: client_case.uuid, document: doc.uuid })
}"
/>
</div>
</div>
@@ -256,6 +266,7 @@ const submitAttachSegment = () => {
@close="closeUpload"
@uploaded="onUploaded"
:post-url="route('clientCase.document.store', client_case)"
:contracts="contracts"
/>
<DocumentViewerDialog :show="viewer.open" :src="viewer.src" :title="viewer.title" @close="closeViewer" />
</AppLayout>
@@ -263,6 +274,7 @@ const submitAttachSegment = () => {
:show="drawerCreateContract"
@close="closeDrawer"
:types="contract_types"
:account_types="account_types"
:client_case="client_case"
:contract="contractEditing"
/>