From f85b27b8848b4fb5e0fd526cbaf650fc6df1ea95 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 13 Mar 2026 18:09:57 +0000 Subject: [PATCH] Bug 33538: Add sync fields to inline mapping widget in provider form Adds sync_on_creation and sync_on_update to the attribute mapping relationship widget embedded in the identity provider form, including display columns, form fields, default values, and save logic. --- .../IdentityProviders/ProviderResource.vue | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/IdentityProviders/ProviderResource.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/IdentityProviders/ProviderResource.vue index e8808070244..fd7775680ee 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/IdentityProviders/ProviderResource.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/IdentityProviders/ProviderResource.vue @@ -320,6 +320,8 @@ export default { { name: __("IdP field"), value: "provider_field" }, { name: __("Koha field"), value: "koha_field" }, { name: __("Default value"), value: "default_content" }, + { name: __("Sync on creation"), value: "sync_on_creation" }, + { name: __("Sync on update"), value: "sync_on_update" }, ], }, componentProps: { @@ -336,6 +338,8 @@ export default { provider_field: "", koha_field: borrowerColumnsArray[0]?.value || "", default_content: "", + sync_on_creation: true, + sync_on_update: true, }, }, }, @@ -364,6 +368,22 @@ export default { type: "text", label: __("Default value"), }, + { + name: "sync_on_creation", + type: "boolean", + indexRequired: true, + label: __("Sync on creation"), + badgeTrueLabel: __("Sync on creation"), + badgeTrueClass: "bg-success", + }, + { + name: "sync_on_update", + type: "boolean", + indexRequired: true, + label: __("Sync on update"), + badgeTrueLabel: __("Sync on update"), + badgeTrueClass: "bg-success", + }, ], }; @@ -728,6 +748,8 @@ export default { provider_field: m.provider_field || null, koha_field: m.koha_field, default_content: m.default_content || null, + sync_on_creation: m.sync_on_creation ?? true, + sync_on_update: m.sync_on_update ?? true, }; if (m.mapping_id) { await APIClient.identity_providers.mappings.update( @@ -809,6 +831,8 @@ export default { provider_field: m.provider_field || null, koha_field: m.koha_field, default_content: m.default_content || null, + sync_on_creation: m.sync_on_creation ?? true, + sync_on_update: m.sync_on_update ?? true, } ); } -- 2.53.0