From 7b33efeb95eb11c49d4f08b2e6fa1321ebf8c252 Mon Sep 17 00:00:00 2001
From: pablone <pablone@verdnatura.es>
Date: Thu, 6 Mar 2025 13:48:50 +0100
Subject: [PATCH 1/6] fix: update EntryDescriptor and EntryList templates for
 improved filtering

---
 src/pages/Entry/Card/EntryDescriptor.vue | 3 +--
 src/pages/Entry/EntryList.vue            | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/pages/Entry/Card/EntryDescriptor.vue b/src/pages/Entry/Card/EntryDescriptor.vue
index 69b300cb2..313ed3d72 100644
--- a/src/pages/Entry/Card/EntryDescriptor.vue
+++ b/src/pages/Entry/Card/EntryDescriptor.vue
@@ -146,9 +146,8 @@ async function deleteEntry() {
 
 <template>
     <CardDescriptor
-        ref="entryDescriptorRef"
         :url="`Entries/${entityId}`"
-        :userFilter="entryFilter"
+        :filter="entryFilter"
         title="supplier.nickname"
         data-key="Entry"
         width="lg-width"
diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue
index f66151cc9..f9d751d3e 100644
--- a/src/pages/Entry/EntryList.vue
+++ b/src/pages/Entry/EntryList.vue
@@ -283,7 +283,7 @@ onBeforeMount(async () => {
 </script>
 
 <template>
-    <VnSection :data-key="dataKey" prefix="entry">
+    <VnSection :data-key="dataKey" prefix="entry" url="Entries/filter">
         <template #advanced-menu>
             <EntryFilter :data-key="dataKey" />
         </template>

From 1c41a6bf4920e4a6f545ab039c2650bf51adc53d Mon Sep 17 00:00:00 2001
From: pablone <pablone@verdnatura.es>
Date: Thu, 6 Mar 2025 13:58:10 +0100
Subject: [PATCH 2/6] fix: update EntryList template to use array-data-props
 for URL configuration

---
 src/pages/Entry/EntryList.vue | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue
index f9d751d3e..dd8a28c8b 100644
--- a/src/pages/Entry/EntryList.vue
+++ b/src/pages/Entry/EntryList.vue
@@ -283,7 +283,11 @@ onBeforeMount(async () => {
 </script>
 
 <template>
-    <VnSection :data-key="dataKey" prefix="entry" url="Entries/filter">
+    <VnSection
+        :data-key="dataKey"
+        prefix="entry"
+        :array-data-props="{url='Entries/filter'}"
+    >
         <template #advanced-menu>
             <EntryFilter :data-key="dataKey" />
         </template>

From 1987b5109bc1ae4b7d04d727f8d93b7c7e4acfa1 Mon Sep 17 00:00:00 2001
From: pablone <pablone@verdnatura.es>
Date: Thu, 6 Mar 2025 14:06:31 +0100
Subject: [PATCH 3/6] fix: correct syntax for array-data-props in EntryList
 template

---
 src/pages/Entry/EntryList.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue
index dd8a28c8b..3b5434cb8 100644
--- a/src/pages/Entry/EntryList.vue
+++ b/src/pages/Entry/EntryList.vue
@@ -286,7 +286,7 @@ onBeforeMount(async () => {
     <VnSection
         :data-key="dataKey"
         prefix="entry"
-        :array-data-props="{url='Entries/filter'}"
+        :array-data-props="{ url: 'Entries/filter' }"
     >
         <template #advanced-menu>
             <EntryFilter :data-key="dataKey" />

From 4359acc406ec9325fcfc3648d7ba51edb6e7bcbe Mon Sep 17 00:00:00 2001
From: Javier Segarra <jsegarra@verdnatura.es>
Date: Thu, 6 Mar 2025 23:51:30 +0100
Subject: [PATCH 4/6] fix: emiOptions bug

---
 src/pages/Order/OrderList.vue   | 27 +++++++++++++++------------
 src/pages/Ticket/TicketList.vue | 15 ++++++++++-----
 2 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/src/pages/Order/OrderList.vue b/src/pages/Order/OrderList.vue
index 091275e32..2a1997f21 100644
--- a/src/pages/Order/OrderList.vue
+++ b/src/pages/Order/OrderList.vue
@@ -156,9 +156,7 @@ const columns = computed(() => [
 onMounted(async () => {
     if (!route.query) return;
     if (route.query?.createForm) {
-        const query = JSON.parse(route.query?.createForm);
-        formInitialData.value = query;
-        await onClientSelected({ ...formInitialData.value, clientFk: query?.clientFk });
+        await onClientSelected(JSON.parse(route.query?.createForm));
     } else if (route.query?.table) {
         const query = JSON.parse(route.query?.table);
         const clientFk = query?.clientFk;
@@ -177,7 +175,6 @@ watch(
                 tableRef.value.create.formInitialData = formInitialData.value;
         }
     },
-    { immediate: true },
 );
 
 async function onClientSelected({ clientFk }, formData = {}) {
@@ -191,13 +188,17 @@ async function onClientSelected({ clientFk }, formData = {}) {
     addressOptions.value = data;
     formData.defaultAddressFk = data[0].client.defaultAddressFk;
     formData.addressId = formData.defaultAddressFk;
-
-    formInitialData.value = { addressId: formData.addressId, clientFk };
+    formInitialData.value = { ...formData, clientFk };
     await fetchAgencies(formData);
 }
 
-async function fetchAgencies({ landed, addressId }) {
-    if (!landed || !addressId) return (agencyList.value = []);
+async function fetchAgencies(formData) {
+    const { landed, addressId } = formData;
+    if (!landed || !addressId) {
+        formData.defaultAddressFk = formInitialData.value.defaultAddressFk;
+
+        return (agencyList.value = []);
+    }
 
     const { data } = await axios.get('Agencies/landsThatDay', {
         params: {
@@ -220,6 +221,11 @@ const getDateColor = (date) => {
     if (difference == 0) return 'bg-warning';
     if (difference < 0) return 'bg-success';
 };
+
+const isDefaultAddress = (opt, data) => {
+    const addressId = data.defaultAddressFk ?? data.addressId;
+    return addressId === opt.id && opt.isActive;
+};
 </script>
 
 <template>
@@ -310,10 +316,7 @@ const getDateColor = (date) => {
                             >
                                 <QItemSection style="min-width: min-content" avatar>
                                     <QIcon
-                                        v-if="
-                                            scope.opt.isActive &&
-                                            data.defaultAddressFk === scope.opt.id
-                                        "
+                                        v-if="isDefaultAddress(scope.opt, data)"
                                         size="sm"
                                         color="grey"
                                         name="star"
diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue
index b2e13fcb6..dfaabc848 100644
--- a/src/pages/Ticket/TicketList.vue
+++ b/src/pages/Ticket/TicketList.vue
@@ -54,8 +54,7 @@ onBeforeMount(() => {
 onMounted(async () => {
     if (!route.query) return;
     if (route.query?.createForm) {
-        formInitialData.value = JSON.parse(route.query?.createForm);
-        await onClientSelected(formInitialData.value);
+        await onClientSelected(JSON.parse(route.query?.createForm));
     } else if (route.query?.table) {
         const query = route.query?.table;
         const clientId = +JSON.parse(query)?.clientFk;
@@ -273,12 +272,18 @@ const fetchAddresses = async (formData) => {
         return;
     }
     const { data } = await getAddresses(formData.clientId);
-    formInitialData.value = { clientId: formData.clientId };
-    if (!data) return;
+
+    if (!data) {
+        formInitialData.value = { clientId: formData.clientId };
+        return;
+    }
     addressesOptions.value = data;
     selectedClient.value = data[0].client;
     formData.addressId = selectedClient.value.defaultAddressFk;
-    formInitialData.value.addressId = formData.addressId;
+    formInitialData.value = {
+        clientId: formData.clientId,
+        addressId: formData.addressId,
+    };
 };
 watch(
     () => route.query.table,

From 287d592a949e88e4d589a88d9bf2e3f4d30f86dd Mon Sep 17 00:00:00 2001
From: pablone <pablone@verdnatura.es>
Date: Fri, 7 Mar 2025 07:43:57 +0100
Subject: [PATCH 5/6] fix: update filter prop to user-filter in
 CustomerMandates component

---
 src/pages/Customer/Card/CustomerMandates.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue
index 66cb44bc2..8f895ba2e 100644
--- a/src/pages/Customer/Card/CustomerMandates.vue
+++ b/src/pages/Customer/Card/CustomerMandates.vue
@@ -65,7 +65,7 @@ const columns = computed(() => [
         <VnTable
             data-key="Mandates"
             url="Mandates"
-            :filter="filter"
+            :user-filter="filter"
             auto-load
             :columns="columns"
             class="full-width q-mt-md"

From 3a104fb51eabba55f85e09492a85b1dbd2cde250 Mon Sep 17 00:00:00 2001
From: carlossa <carlossa@verdnatura.es>
Date: Mon, 10 Mar 2025 07:29:20 +0100
Subject: [PATCH 6/6] fix: refs #8727 hotfix customerMandate

---
 src/pages/Customer/Card/CustomerMandates.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue
index 8f895ba2e..81a643142 100644
--- a/src/pages/Customer/Card/CustomerMandates.vue
+++ b/src/pages/Customer/Card/CustomerMandates.vue
@@ -16,7 +16,6 @@ const filter = {
         { relation: 'mandateType', scope: { fields: ['id', 'code'] } },
         { relation: 'company', scope: { fields: ['id', 'code'] } },
     ],
-    where: { clientFk: route.params.id },
     order: ['created DESC'],
     limit: 20,
 };
@@ -66,6 +65,7 @@ const columns = computed(() => [
             data-key="Mandates"
             url="Mandates"
             :user-filter="filter"
+            :filter="{ where: { clientFk: route.params.id } }"
             auto-load
             :columns="columns"
             class="full-width q-mt-md"