diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue index c673ffbcf2..fc3fdc2fb9 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/BaseResource.vue @@ -106,7 +106,7 @@ export default { this.extendedAttributesResourceType || null, addFiltersToList: this.addFiltersToList || null, formGroupsDisplayMode: this.formGroupsDisplayMode || null, - appendToShow: this.appendToShow || null, + appendToShow: this.appendToShow || (() => []), nameAttr: this.nameAttr || null, idAttr: this.idAttr || null, }; @@ -454,6 +454,14 @@ export default { }, [] ); + if (this.extendedAttributesResourceType) { + attributesToConsider.push({ + name: "additional_fields", + type: "additional_fields", + extended_attributes_resource_type: + this.extendedAttributesResourceType, + }); + } const groupings = attributesToConsider.reduce((acc, attr) => { if ( attr.hasOwnProperty("group") && @@ -556,15 +564,8 @@ export default { acc[attr.name] = false; return acc; } - if ( - attr.name === "additional_fields" || - attr.type === "relationshipWidget" - ) { - acc[ - attr.name === "additional_fields" - ? "extended_attributes" - : attr.name - ] = []; + if (attr.type === "relationshipWidget") { + acc[attr.name] = []; return acc; } acc[attr.name] = null; @@ -572,6 +573,9 @@ export default { }, {} ); + if (this.extendedAttributesResourceType) { + this.resourceToBeGenerated.extended_attributes = []; + } this.resourceToBeGenerated[this.idAttr] = null; return this.resourceToBeGenerated; }, @@ -581,9 +585,7 @@ export default { * @return {Boolean} true if the resource has additional fields, false otherwise. */ hasAdditionalFields() { - return this.resourceAttrs.some( - attr => attr.name === "additional_fields" - ); + return !!this.extendedAttributesResourceType; }, /** * Returns the plural form of the resource name. diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue index 70aa4d5605..5dd520caa7 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementResource.vue @@ -139,12 +139,6 @@ export default { label: this.$__("License info"), hideIn: ["List"], }, - { - name: "additional_fields", - extended_attributes_resource_type: - this.extendedAttributesResourceType, - hideIn: ["List"], - }, { name: "periods", type: "relationshipWidget", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue index 924e66400d..0298b78f96 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackageResource.vue @@ -120,12 +120,6 @@ export default { type: "text", label: this.$__("Notes"), }, - { - name: "additional_fields", - extended_attributes_resource_type: - this.extendedAttributesResourceType, - hideIn: ["List"], - }, { name: "package_agreements", type: "relationshipWidget", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue index 535338bdb3..dc75893a40 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicenseResource.vue @@ -127,12 +127,6 @@ export default { format: this.format_date, }, }, - { - name: "additional_fields", - extended_attributes_resource_type: - this.extendedAttributesResourceType, - hideIn: ["List"], - }, { name: "user_roles", type: "relationshipWidget", diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/FormElement.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/FormElement.vue index 9ed3241dda..65a4137ecb 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/FormElement.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/FormElement.vue @@ -162,7 +162,7 @@ :resource="resource" > -