From f68daf3f6af77f83ae37d16751f63381f1de918f Mon Sep 17 00:00:00 2001 From: Jack-Golding <94838251+Jack-Golding@users.noreply.github.com> Date: Fri, 20 Dec 2024 13:50:37 +0000 Subject: [PATCH] fix: /erm/entitlements API returns invalid JSON data (#847) * fix: /erm/entitlements API returns invalid JSON data Originally the erm/entitlements endpoint would return invalid JSON on an agreement with > 2 agreement lines and a usageDataProvider, due to an inherent bug within the grails-views plugin, the usageDataProvider view gson is now more explicitly typed to prevent this ERM-3464 * fix: usageDataProviderNote Fixed a stupid mistake attempting to render a string --- .../usageDataProvider/_usageDataProvider.gson | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/service/grails-app/views/usageDataProvider/_usageDataProvider.gson b/service/grails-app/views/usageDataProvider/_usageDataProvider.gson index 33fae6fb7..f935b40a0 100644 --- a/service/grails-app/views/usageDataProvider/_usageDataProvider.gson +++ b/service/grails-app/views/usageDataProvider/_usageDataProvider.gson @@ -5,10 +5,16 @@ import org.olf.erm.UsageDataProvider inherits template: "/remoteOkapiLink/remoteOkapiLink" -def should_expand = ['usageDataProviderNote'] +json { + if (usageDataProvider.usageDataProviderNote){ + 'usageDataProviderNote' usageDataProvider.usageDataProviderNote + } -if (params.controller == 'usageDataProvider' ) { - should_expand << 'owner' + if (params.controller == 'usageDataProvider') { + 'owner' g.render( usageDataProvider.owner ) + } else { + 'owner' { + 'id' usageDataProvider.owner.id + } + } } - -json g.render(usageDataProvider, ['excludes': ['id', 'version', 'remoteId'], 'expand':should_expand])