diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue index 1499c24080..96159fc967 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorResource.vue @@ -795,9 +795,25 @@ export default { componentData.resource.value.discount = componentData.resource.value.discount.toFixed(1); } - componentData.resource.payment_method = resource.payment_method - ? resource.payment_method.split("|") - : []; + if (resource.payment_method) { + const avs = + componentData.instancedResource.authorisedValues + .av_vendor_payment_methods; + const paymentMethods = resource.payment_method.split("|"); + + resource.payment_method = paymentMethods.reduce( + (acc, pm) => { + const avMatch = avs.find(av => av.value === pm); + if (!avMatch) return acc; + acc.push({ + description: avMatch.description, + value: avMatch.value, + }); + return acc; + }, + [] + ); + } } if (caller === "show") { let physicalAddress = ""; diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/composables/base-resource.js b/koha-tmpl/intranet-tmpl/prog/js/vue/composables/base-resource.js index 619d8d5e90..aba8e036a4 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/composables/base-resource.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/composables/base-resource.js @@ -626,6 +626,10 @@ export function useBaseResource(resourceConfig) { return acc; } if (["text", "textarea", "select"].includes(attr.type)) { + if (attr.allowMultipleChoices) { + acc[attr.name] = []; + return acc; + } acc[attr.name] = ""; return acc; }