From 61a58ddef0378c0493ead07c03279151d73cd3e5 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Tue, 17 Aug 2021 18:23:06 +0200 Subject: [PATCH] Fixed Userfield value assignment handling (`/objects/{entity}` API endpoint) (fixes #1572) --- changelog/63_UNRELEASED_xxxx.xx.xx.md | 1 + controllers/GenericEntityApiController.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog/63_UNRELEASED_xxxx.xx.xx.md b/changelog/63_UNRELEASED_xxxx.xx.xx.md index 3fa3218c..80718631 100644 --- a/changelog/63_UNRELEASED_xxxx.xx.xx.md +++ b/changelog/63_UNRELEASED_xxxx.xx.xx.md @@ -8,4 +8,5 @@ - Fixed that grouping by columns in tables may caused duplicate groups - Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking - Fixed that `missing_products` of the `/stock/volatile` endpoint also returned incactive products +- Fixed that when having multiple Userfields for an entity, the `/objects/{entity}` endpoint returned wrong Userfield values - Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu) diff --git a/controllers/GenericEntityApiController.php b/controllers/GenericEntityApiController.php index eb4b1e33..bbaf83c4 100644 --- a/controllers/GenericEntityApiController.php +++ b/controllers/GenericEntityApiController.php @@ -161,7 +161,7 @@ class GenericEntityApiController extends BaseApiController $userfieldKeyValuePairs = null; foreach ($userfields as $userfield) { - $value = FindObjectInArrayByPropertyValue($allUserfieldValues, 'object_id', $object->id); + $value = FindObjectInArrayByPropertyValue(FindAllObjectsInArrayByPropertyValue($allUserfieldValues, 'object_id', $object->id), 'name', $userfield->name); if ($value) { $userfieldKeyValuePairs[$userfield->name] = $value->value;