fix: download options filter uses user preferences

This commit is contained in:
2025-04-30 15:53:10 -05:00
parent 3971cf3260
commit b59069551a
6 changed files with 144 additions and 103 deletions

View File

@@ -190,7 +190,18 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
{
return Map::from($this->userPreferences)
->rekey(fn(UserPreference $userPreference) => $userPreference->getPreference()->getId())
->map(fn(UserPreference $userPreference) => $userPreference->getPreferenceValue())
->map(function (UserPreference $userPreference) {
if (in_array($userPreference->getPreference()->getId(), ['language', 'provider'])) {
return $userPreference->getPreferenceValue();
}
foreach ($userPreference->getPreference()->getPreferenceOptions() as $preferenceOption) {
// dd((int) $userPreference->getPreferenceValue(), $preferenceOption->getId(), $preferenceOption->getValue());
if ($preferenceOption->getId() === (int) $userPreference->getPreferenceValue()) {
return $preferenceOption->getValue();
}
}
return null;
})
->toArray();
}
}